---
id: no-otel
title: What if I don't have OpenTelemetry installed?
hide_table_of_contents: true
description: Don't have OpenTelemetry instrumentation added in your codebase? Here's how to get started!
keywords:
  - tracetest
  - trace-based testing
  - observability
  - distributed tracing
  - testing
image: https://res.cloudinary.com/djwdcmwdz/image/upload/v1698686403/docs/Blog_Thumbnail_14_rsvkmo.jpg
---

# What if I don't have OpenTelemetry installed?


import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

No worries! You can get started with no code changes at all!

This page will explain getting started with OpenTelemetry:

- Injecting auto instrumentation with **no code changes**.
- Auto instrumentation with limited code changes.
- Manual instrumentation with code changes.

You can also find more ways to instrument OpenTelemetry in their [documentation](https://opentelemetry.io/docs/instrumentation/).

<Tabs groupId="otel-install-options">
  <TabItem value="zero-code-instrumentation" label="Zero-code Instrumentation (No Code Changes)" default>

[Zero-code instrumentation adds the OpenTelemetry](https://opentelemetry.io/docs/concepts/instrumentation/zero-code/) API and SDK capabilities to your application typically as an agent or agent-like installation.

Below we provide quick links to all key docs and samples.

| Language | Docs |
|---|---|
| **C#/.NET** | https://opentelemetry.io/docs/zero-code/net/ |
| **Java**  | https://opentelemetry.io/docs/zero-code/java/ |
| **JavaScript** | https://opentelemetry.io/docs/zero-code/js/ |
| **PHP** | https://opentelemetry.io/docs/zero-code/php/ |
| **Python** | https://opentelemetry.io/docs/zero-code/python/ |
| **Go** | https://opentelemetry.io/docs/zero-code/go/ |

  </TabItem>

  <TabItem value="auto-instrumentation" label="Auto Instrumentation" default>

Below we provide quick links to all key docs and samples.

| Language | Docs | GitHub |
|---|---|---|
| **C#/.NET** | https://opentelemetry.io/docs/instrumentation/net/automatic/ | https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation |
| **Java**  | https://opentelemetry.io/docs/instrumentation/java/automatic/ | https://github.com/open-telemetry/opentelemetry-java-instrumentation |
| **JavaScript** | https://opentelemetry.io/docs/instrumentation/js/automatic/ | https://github.com/open-telemetry/opentelemetry-js |
| **PHP** | https://opentelemetry.io/docs/instrumentation/php/automatic/ | https://github.com/open-telemetry/opentelemetry-php-instrumentation |
| **Python** | https://opentelemetry.io/docs/instrumentation/python/automatic/ | https://github.com/open-telemetry/opentelemetry-python-contrib |
| **Ruby** | https://opentelemetry.io/docs/instrumentation/ruby/automatic/ | https://github.com/open-telemetry/opentelemetry-ruby |

  </TabItem>

  <TabItem value="manual-instrumentation" label="Manual Instrumentation" default>

Below we provide quick links to all key docs.

| Language | Docs |
|---|---|
| **C++** | https://opentelemetry.io/docs/instrumentation/cpp/ |
| **C#/.NET** | https://opentelemetry.io/docs/instrumentation/net/ |
| **Erlang/Elixir** | https://opentelemetry.io/docs/instrumentation/erlang/ |
| **Go** | https://opentelemetry.io/docs/instrumentation/go/ |
| **Java**  | https://opentelemetry.io/docs/instrumentation/java/ |
| **JavaScript** | https://opentelemetry.io/docs/instrumentation/js/ |
| **PHP** | https://opentelemetry.io/docs/instrumentation/php/ |
| **Python** | https://opentelemetry.io/docs/instrumentation/python/ |
| **Ruby** | https://opentelemetry.io/docs/instrumentation/ruby/ |
| **Rust** | https://opentelemetry.io/docs/instrumentation/rust/ |
| **Swift** | https://opentelemetry.io/docs/instrumentation/swift/ |
| **Other** | https://opentelemetry.io/docs/instrumentation/other/ |

  </TabItem>

</Tabs>

:::tip We suggest you go back to and install Tracetest!
Jump back to the [installation guide](./installation.mdx) once you have OpenTelemetry installed.
:::